<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Ruby ri Tool: Ruby Study Notes - Best Ruby Guide, Ruby Tutorial</title>

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="description" content="Ruby Study Notes - Best Ruby Guide, Ruby Tutorial" />
    <meta name="keywords" content="ruby ri tool,ruby study notes,ruby guide,free ruby programming course,best ruby guide,ruby tutorials,ruby tutorial,learn ruby,ruby,ruby on rails,ruby rails,ruby learning,ruby tutoring,learning ruby,ruby programming,ruby on rails development,ruby training" />
    <meta name="Distribution" content="Global" />
    <meta name="author" content="Satish Talim / Original design: Erwin Aligam - ealigam@gmail.com" />
    <meta name="copyright" content="Satish Talim 2007 and beyond..." />
    <meta name="verify-v1" content="rFu86se+IkbtF+bH8mgJBKwU5HnKaSd8Ghw9umXQOkM=" />
    <meta name="robots" content="index,follow" />
    <meta http-equiv="Expires" content="0" />
    <meta name="revisit-after" content="1 days" />

    <link rel="stylesheet" href="/images/NewOrange.css" type="text/css" />
    <link rel="stylesheet" href="/images/syntaxhighlighter.css" type="text/css" />
    <link rel="icon" type="image/ico" href="/images/favicon.ico" />
    <!-- Google +1 button code -->
    <link rel="canonical" href="/satishtalim/ruby_ri_tool.html" />
    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
    <!-- Google Analytics code -->
    <script type="text/javascript">

     var _gaq = _gaq || [];
     _gaq.push(['_setAccount', 'UA-59044-10']);
     _gaq.push(['_trackPageview']);

     (function() {
       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
     })();

    </script>
    <!-- Google Analytics code ends -->
  </head>

  <body>
    <!-- wrap starts here -->
    <div id="wrap">

      <div id="header">

        <h1 id="logo">Ruby<span class="orange">Learning.github.io</span></h1>
        <h2 id="slogan">Ruby helps programmers have more fun!</h2>

      </div>

      <div id="menu">
        <ul>
          <li><a href="/" title="Home page for rubylearning.github.io">Home</a></li>
          <li><a href="/satishtalim/tutorial.html" title="Get started Learning Ruby here...">Tutorial</a></li>
          <li><a href="/download/downloads.html" title="Download this tutorial as an eBook">Downloads</a></li>
          <li><a href="/other/testimonials.html" title="People around the world who benefited from this site">Testimonials</a></li>
          <li><a href="/other/certification.html" title="Get certified in Ruby">Certification</a></li>
          <li><a href="/satishtalim/ruby_guide.html" title="Ruby Guide, Mentor">Mentor</a></li>
          <li><a href="https://blog.rubylearning.github.io/" title="Ruby blog of Ruby Learning site">Blog</a></li>
          <li><a href="/satishtalim/tutorial.html" title="Online Ruby Course">Online Course</a></li>
          <li><a href="http://ruby-challenge.rubylearning.github.io/" title="Ruby Programming Challenge for Newbies">Challenge</a></li>
          <li><a href="/satishtalim/about.html" title="Information about Satish Talim">About</a></li>
        </ul>
      </div>

      <!-- content-wrap starts here -->
      <div id="content-wrap">

        <div id="main">

          <div id="main-inner"><a name="TemplateInfo"></a>
            <h1>Ruby ri Tool</h1>

            <p class="post-footer align-right">
              <strong>
                <a href="/satishtalim/writing_own_ruby_methods.html">&lt;Writing own Ruby Methods | </a>
                <a href="/satishtalim/tutorial.html">TOC | </a>
                <a href="/satishtalim/more_on_strings.html">More on Strings&gt;</a>
              </strong>
            </p>

            <h3>ri and RDoc</h3>
            <p>If you have a good internet connection, then you would probably refer to the <a href="http://ruby-doc.org/core-2.3.0/">Ruby documentation online</a>. However, for those with a slower connection or not having an internet access, the Ruby <strong>ri</strong> and <strong>RDoc</strong> tools are very useful.</p>

            <p><strong>ri</strong> (Ruby Index) and <strong>RDoc</strong> (Ruby Documentation) are a closely related pair of tools for providing documentation about Ruby programs. <strong>ri</strong> is a command-line tool; the RDoc system includes the command-line tool <strong>rdoc</strong>. <strong>ri</strong> and <strong>rdoc</strong> are standalone programs; you run them from the command line.</p>

            <p><strong>RDoc</strong> is a documentation system. If you put comments in your program files (Ruby or C) in the prescribed <strong>RDoc</strong> format, <strong>rdoc</strong> scans your files, extracts the comments, organizes them intelligently (indexed according to what they comment on), and creates nicely formatted documentation from them. You can see <strong>RDoc</strong> markup in many of the C files in the Ruby source tree and many of the Ruby files in the Ruby installation.</p>

            <p>The Ruby <strong>ri</strong> tool is used to view the Ruby documentation off-line. Open a command window and invoke <strong>ri</strong> followed by the name of a Ruby class, module or method. <strong>ri</strong> will display documentation for you. You may specify a method name without a qualifying class or module name, but this will just show you a list of all methods by that name (unless the method is unique). Normally, you can separate a class or module name from a method name with a period. If a class defines a class method and an instance method by the same name, you must instead use :: to refer to a class method or # to refer to the instance method. Here are some example invocations of ri:</p>

            <div class="column2">
              <!-- InstanceBeginEditable name="Code" -->
              <textarea name="code" class="ruby:nogutter:nocontrols" rows="15" cols="60">
                ri Array
                ri Array.sort
                ri Hash#each
                ri Math::sqrt
              </textarea>
              <!-- InstanceEndEditable -->
            </div>

            <p><strong>ri</strong> dovetails with <strong>RDoc</strong>: It gives you a way to view the information that <strong>RDoc</strong> has extracted and organized. Specifically (although not exclusively, if you customize it), <strong>ri</strong> is configured to display the <strong>RDoc</strong> information from the Ruby source files. Thus on any system that has Ruby fully installed, you can get detailed information about Ruby with a simple command-line invocation of <strong>ri</strong>. Some more information is available here:<br />
              <a href="http://www.caliban.org/ruby/rubyguide.shtml#ri">http://www.caliban.org/ruby/rubyguide.shtml#ri</a><br />
              <a href="http://en.wikipedia.org/wiki/RDoc">http://en.wikipedia.org/wiki/RDoc</a><br />
              <a href="https://github.com/rdoc/rdoc">https://github.com/rdoc/rdoc</a></p>

            <p style="background-color: #FAFAFA; padding: 5px; margin-top: 20px; font-size: 65%;"><strong>Note</strong>: The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. I have made extensive references to information, related to Ruby, available in the public domain (wikis and the blogs, articles of various <span style="font-weight: bold;" title="Click Gurus on the menu above">Ruby Gurus</span>), my acknowledgment and thanks to all of them. Much of the material on <a href="/">rubylearning.github.io</a> and in the course at <a href="http://rubylearning.org/">rubylearning.org</a> is drawn <strong>primarily</strong> from the <strong>Programming Ruby book</strong>, available from <a href="http://pragprog.com/book/ruby3/programming-ruby-1-9-2-0">The Pragmatic Bookshelf</a>.</p>

            <p class="post-footer align-right">
              <strong>
                <a href="/satishtalim/writing_own_ruby_methods.html">&lt;Writing own Ruby Methods | </a>
                <a href="/satishtalim/tutorial.html">TOC | </a>
                <a href="/satishtalim/more_on_strings.html">More on Strings&gt;</a>
              </strong>
            </p>

          </div>
          <!-- main inner ends here -->
        </div>

        <div id="rightbar">

        </div>

        <!-- content-wrap ends here -->
      </div>

      <!-- wrap ends here -->
    </div>

    <!-- footer starts here -->
    <div id="footer">
      <!-- CHANGE THE FOOTER -->
      <p>&copy; 2006-2021 <strong>rubylearning.github.io - A Ruby Tutorial</strong>&nbsp;&nbsp;Page Updated: 5th Jan. 2021 | Design: <a href="mailto:ealigam@gmail.com">Erwin Aligam</a> | Valid: <a href="http://validator.w3.org/check/referer">XHTML</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/">Home</a> | <a href="/privacy.html">Privacy</a> | <a href="/sitemap.html">Sitemap</a></p>
    </div>
    <!-- footer ends here -->

    <!-- SyntaxHighlighter code -->
    <script src="/js/shCore.js" type="text/javascript"></script>
    <script src="/js/shBrushRuby.js" type="text/javascript"></script>
    <script type="text/javascript">
     dp.SyntaxHighlighter.HighlightAll('code');
    </script>
    <!-- SyntaxHighlighter code -->
  </body>
</html>
